﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json;

namespace Tweets.Library
{
    /// <summary>
    /// All entities of a tweet (hashtags, urls, etc.).
    /// </summary>
    public class TwitterEntities
    {
        /// <summary>
        /// A collection of tweet hashtags (if TweetSettings.IncludeEntities is true).
        /// </summary>
        /// <seealso cref="TweetSettings.IncludeEntities"/>
        [JsonProperty(PropertyName = "hashtags")]
        public TwitterHashtag[] HashTagCollection;

        /// <summary>
        /// A collection of tweet media items (if TweetSettings.IncludeEntities is true).
        /// </summary>
        /// <seealso cref="TweetSettings.IncludeEntities"/>
        [JsonProperty(PropertyName = "media")]
        public TwitterMedia[] MediaCollection;

        /// <summary>
        /// A collection of tweet user mentions (if TweetSettings.IncludeEntities is true).
        /// </summary>
        /// <seealso cref="TweetSettings.IncludeEntities"/>
        [JsonProperty(PropertyName = "user_mentions")]
        public TwitterUserMention[] UserMentionCollection;

        /// <summary>
        /// A collection of tweet URL's (if TweetSettings.IncludeEntities is true).
        /// </summary>
        /// <seealso cref="TweetSettings.IncludeEntities"/>
        [JsonProperty(PropertyName = "urls")]
        public TwitterUrl[] UrlCollection;

    }
}
